In recent years, as disclosed in, for example, Japanese Patent Application Publication No. 2011-081539 (JP-2011-081539 A), the use of a calculation device that has a plurality of CPU cores mounted on a single semiconductor chip, namely, a multicore processor has been proposed in various fields. As disclosed in, for example, Japanese Patent Application Publication No. 2008-269487 (JP-2008-269487 A), the use of the multicore processor has been discussed in the field of the control of vehicular engines as well. The art disclosed in Japanese Patent Application Publication No. 2008-269487 (JP-2008-269487 A) is an art intended to reduce the consumption of electric power in the case where the multicore processor is employed in an engine control apparatus. According to this art, when a specific control processing is performed during the stop of engine control, the operation mode of a microcomputer is set to a low electric power consumption mode that is different from the operation mode during engine operation. In the low electric power consumption mode, the number of cores used by the microcomputer is made smaller than during engine operation. During the stop of engine control, no electric power is generated from an alternator or the like as during the operation of the engine, and an in-vehicle battery is not charged either. Therefore, the amount of consumption of electric power with which the battery is charged rapidly increases as the number of cores that operate during the performance of a specific control processing increases.
One advantage of the use of the multicore processor is its high processing ability. Higher processing ability can be obtained from the multicore processor than from a single core processor having one CPU core. High processing ability is an inducement to employ the multicore processor in an engine control apparatus. This is because the number of actuators mounted on the engine and the number of types thereof have been on the constant increase in recent years. In order to appropriately control the operation of the engine, the control target values of actuators thereof need to be set to appropriate values corresponding to the operating condition of the engine. Therefore, an optimization calculation is performed in a conventional engine control apparatus, but the calculation load in performing the optimization calculation increases as the number of actuators and the number of types of actuators increase. Thus, it has been apprehended that the processing ability of the single core processor that is employed in the conventional engine control apparatus may eventually become insufficient for the ever-increasing calculation load. The use of the multicore processor has a great merit in the field of engine control in which the calculation load is estimated to constantly increase from here on.
However, the processing ability of the multicore processor is not determined simply by the number of cores. In order to enhance the processing ability, a plurality of cores need to be efficiently operated. For this purpose, ingenuity has been demanded of the software that operates the cores. For example, tasks can be distributed to the plurality of the cores and processed in parallel in the multicore processor. However, the processing ability as a whole greatly differs on the method of parallelization.